package io.jt808.proto.cmd;

import io.norland.buffer.AutoBuffer;
import io.norland.annotations.Proto;
import io.norland.proto.IProto;
import lombok.Data;

/**
 * 人工确认报警消息
 * 0  1：确认紧急报警；
 * 1-2  保留
 * 3  1：确认危险预警；
 * 28
 * 4-19  保留
 * 20  1：确认进出区域报警；
 * 21  1：确认进出路线报警；
 * 22  1：确认路段行驶时间不足/过长报警；
 * 23-26  保留
 * 27  1：确认车辆非法点火报警；
 * 28  1：确认车辆非法位移报警；
 * 29-31  保留
 */
@Proto("8203")
@Data
public class JT8203 implements IProto {

    /**
     * 流水号
     */
    private int responseMessageSerialNo;
    /**
     * 报警类型
     */
    private long alarmType;

    public byte[] writeToBytes() {
        AutoBuffer buff = new AutoBuffer();
        buff.writeShort(responseMessageSerialNo);
        buff.writeInt(alarmType);
        return buff.array();
    }

    public void readFromBuf(AutoBuffer buf) {
        responseMessageSerialNo = buf.readUnsignedShort();
        alarmType = buf.readUnsignedInt();
    }
}